/**
 * @param {number} m
 * @param {number} n
 * @param {number} k
 * @return {number}
 */
 var movingCount = function(m, n, k) {
    function calcK(x,y){
        //console.log(x,y,Math.floor(x/10)+x%10+Math.floor(y/10)+y%10)
        return (Math.floor(x/10)+x%10+Math.floor(y/10)+y%10)<=k;
    }
    var visited=new Array(m);
    for(let i=0;i<m;i++){
        visited[i]=new Array(n).fill(0);
    }
    var total=0;
    var directions=[[1,0],[0,1],[-1,0],[0,-1]];
    function traverse(x,y){
        if(x>=0&&y>=0&&x<m&&y<n&&visited[x][y]==0&&calcK(x,y)){
            visited[x][y]=1;
            total++;
            for(dir of directions){
                traverse(x+dir[0],y+dir[1]);
            }
        }
    }
    traverse(0,0);
    return total;
};

// 执行用时：
// 84 ms
// , 在所有 JavaScript 提交中击败了
// 91.49%
// 的用户
// 内存消耗：
// 40 MB
// , 在所有 JavaScript 提交中击败了
// 73.76%
// 的用户